#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_mainwindow.h"



QT_BEGIN_NAMESPACE
namespace Ui { class MainWindowClass; };
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindowClass *ui;

protected:
    /**
     * @brief 绘图事件
     * @param event 
    */
    void paintEvent(QPaintEvent* event);

//相关组件的槽函数
private slots:

    /**
     * @brief 嵌入式窗体
    */
    void on_action_WidgetInside_triggered();

    /**
     * @brief 设置标题
     * @param str 
    */
    void do_change_tab_title(QString str);

    /**
     * @brief 标签关闭请求
     * @param index 对应的索引号
    */
    void on_tabWidget_tabCloseRequested(int index);

    /**
     * @brief 独立式窗体
    */
    void on_action_Widget_triggered();

    /**
     * @brief 嵌入式窗口
    */
    void on_action_WindowInside_triggered();

    /**
     * @brief 独立式窗口
    */
    void on_action_Window_triggered();
};
